home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 March / PCWorld_2007-03_cd.bin / komunikace / acehtml / acehtmlfreeware.exe / scriptdef / Interest Calculator.sd < prev    next >
INI File  |  2006-09-13  |  5KB  |  161 lines

  1. [SUBJECT]
  2. Description=Calculate monthly interest payment
  3. ImageIndex=-1
  4. Folder=Mathematics
  5.  
  6.  
  7. [HEAD_TEXT]
  8. ;<!-- Cut-N-Paste JavaScript from ISN Toolbox 
  9. ;     Copyright 1996, Infohiway, Inc.  Restricted use is hereby
  10. ;     granted (commercial and personal OK) so long as this code
  11. ;     is not *directly* sold and the copyright notice is buried
  12. ;     somewhere deep in your HTML document.  A link to our site
  13. ;     http://www.infohiway.com is always appreciated of course,
  14. ;     but is absolutely and positively not necessary. ;-)   -->
  15. ;<script language="JavaScript">
  16. ;<!--Hide JavaScript from Java-Impaired Browsers
  17. ;function test_it(entry) {
  18. ; if (entry.value && entry.value.length!=0) {
  19. ;  entry.value=""+ eval(entry.value);
  20. ;  }
  21. ; computeForm(entry.form);
  22. ; }
  23. ;
  24. ;function computeForm(form) {
  25. ; if ((!form.months.value || form.months.value.length==0) ||
  26. ;    (!form.rate.value || form.rate.value.length==0) ||
  27. ;    (!form.financed.value || form.financed.value.length==0)) {
  28. ;   return;
  29. ;   }
  30. ; if (!alrt_msg(form.months,1,480,"Your Number of Payments") ||
  31. ;    !alrt_msg(form.rate,.001,99,"Your Interest Rate") ||
  32. ;    !alrt_msg(form.financed,100,10000000,"Your Principal Amount")) {
  33. ;   form.payment.value="A value out of range - Click Reset";
  34. ;   return;
  35. ;    }
  36. ; var i=form.rate.value;
  37. ; ffv=0;
  38. ; ffv+=form.financed.value;
  39. ; fmv=0;
  40. ; fmv+=form.months.value;
  41. ; if (i > 1.0) {
  42. ; // Hack to mostly correct floating point/binary conversion error
  43. ;  i=(i/100.0)+.00001;
  44. ;  var fmt="";
  45. ;  fmt+=i;
  46. ;  fmt=fmt.substring(0,6);
  47. ;  form.rate.value=fmt;
  48. ;  }
  49. ; i/=12;
  50. ; var isn=1;
  51. ; for (var j=0;j<form.months.value;j++)
  52. ;  isn=isn*(1+i);
  53. ;  form.payment.value=(form.financed.value*isn*i)/(isn-1);
  54. ;  fpv=0;
  55. ;  fpv+=form.payment.value;
  56. ;  fmt="";
  57. ;  var add=9;
  58. ;  fmt+=form.payment.value;
  59. ;  for (var i=0;i<fmt.length;i++) {
  60. ;   if (fmt.charAt(i)==".") {
  61. ;    add=i+3;
  62. ;    i=fmt.length;
  63. ;    }
  64. ;   }
  65. ;  fmt=fmt.substring(0,add);
  66. ;  fcalc=((fmv*fpv)-ffv);
  67. ;  var fmtb="";
  68. ;  add=9;
  69. ;  fmtb+=fcalc;
  70. ;  for (var i=0;i<fmtb.length;i++) {
  71. ;   if (fmtb.charAt(i)==".") {
  72. ;    add=i+3;
  73. ;    i=fmtb.length;
  74. ;    }
  75. ;   }
  76. ;  fmtb=fmtb.substring(0,add);
  77. ;  form.payment.value="   $"+fmt+"              $"+fmtb;
  78. ; }
  79. ;function reset_it(form) {
  80. ; form.months.value="";
  81. ; form.rate.value="";
  82. ; form.financed.value="";
  83. ; form.payment.value="";
  84. ; }
  85. ;
  86. ;function alrt_msg(entry,low,high,myprompt) {
  87. ; myprompt="You couldn't know. "+myprompt 
  88. ; +" entry has unacceptable stuff: "+entry.value;
  89. ; var scratch=entry.value;
  90. ; for (var i=0;i<scratch.length;i++) {
  91. ;  var letter=scratch.substring(i,i+1);
  92. ;  if ((letter<"0" || "9"<letter) && letter!='.') {
  93. ;   alert(myprompt);
  94. ;   return false;
  95. ;   }
  96. ;    }
  97. ; var errtst=parseFloat(scratch);
  98. ; if (errtst<low || high<errtst) {
  99. ;  alert("I'm sorry. "+myprompt+ " is not in the range"
  100. ;  +" from "+low+" to "+high+"!");
  101. ;  return false;
  102. ;  }
  103. ; entry.value=scratch;
  104. ; return true;
  105. ; }
  106. ;//-->
  107. ;</SCRIPT>
  108.  
  109.  
  110.  
  111. [BODY_TEXT]
  112. ;<div align="center">
  113. ;<table width="484" border="2" summary="">
  114. ;<tr><td colspan="3"><br>
  115. ;If you have a Netscape« 2.0 Browser, you can use this handy 
  116. ;tool to learn just how much your monthly payment will be for a new 
  117. ;computer, a big screen TV or even a new house!
  118. ;<p>All you do is type the amount it will cost, what the interest 
  119. ;rate will be and how many months your loan will be for.  "Click" 
  120. ;Compute or simply click in the payment window to see how much it 
  121. ;will cost each month.<p></td></tr>
  122. ;</table>
  123. ;<form method="post">
  124. ;<table width="484" border="2" summary="">
  125. ;<tr>
  126. ;<td colspan="3" valign="top" align="center">
  127. ;  <b>`Caption`</b></td>
  128. ;<td valign="top" align="center"><b>See Your Payment Here</b></td>
  129. ;<td valign="top" align="center"><B>See Your Interest Cost  Here</b></td></tr>
  130. ;<tr>
  131. ;<td align="center">Number of<BR>Monthly<br>Payments</td>
  132. ;<td align="center">Simple<br>Interest<br>Rate</td>
  133. ;<td align="center">Principal<br>Amount<br>of Loan</td>
  134. ;<td align="center">Your<br>Monthly<br>Payment<br>Will Be</td>
  135. ;<td align="center">Your<br>Total<br>Interest Cost<br>Will Be</td>
  136. ;</tr>
  137. ;<tr>
  138. ;<td align="center">
  139. ;  <input type="text" name="months" SIZE="5" onChange="test_it(this)"> </td>
  140. ;<td align="center">
  141. ;  <input type="text" name="rate" SIZE="6" onChange="test_it(this)"></td>
  142. ;<td align="center">
  143. ;  $<input type="text" name="financed" SIZE="9" onChange="test_it(this)"></td>
  144. ;<td colspan="2" align="center">
  145. ;  <input type="text" name="payment" SIZE="40" onChange="test_it(this)"></td></tr>
  146. ;<tr>
  147. ;<td colspan="2" align="center">
  148. ;  <input type="reset" VALUE="Click Here to Reset" onClick="reset_it(this.form)"></td>
  149. ;<td colspan="3" align="center">
  150. ;  <input type="button" value="Click Here to Compute Payment and Cost" onClick="computeForm(this.form)"></td>
  151. ;</tr>
  152. ;</table>
  153. ;</FORM>
  154. ;</div>
  155.  
  156. [`Caption`]
  157. Kind=S
  158. Value=Simply Complete These Three Columns:
  159.  
  160.  
  161.